package com.googlecode.wicketcharts.highcharts.options;

import java.awt.Color;

/**
 * A point in a chart that has a label (or a name) and a color.
 * 
 * @see <a
 *      href="http://api.highcharts.com/highcharts#series.data">http://api.highcharts.com/highcharts#series.data</a>
 * @author Tom Hombergs (tom.hombergs@gmail.com)
 * 
 */
public class NamedPoint extends JsonObject {

	private static final long serialVersionUID = 1L;

	private String name;

	private Color color;

	private Number y;

	private DummyOption events;

	private String id;

	private DataLabels dataLabels;

	private Integer legendIndex;

	private Marker marker;

	private Boolean sliced;

	private Number x;

	public NamedPoint() {

	}

	/**
	 * Convencience constructor.
	 */
	public NamedPoint(String name, Number y, Color color) {
		this.name = name;
		this.y = y;
		this.color = color;
	}

	/**
	 * Simple Constructor if a NamedPoint only has a value and nothing else.
	 * 
	 * @param y
	 *            the y value of this point.
	 */
	public NamedPoint(Number y) {
		this.y = y;
	}

	public DummyOption getEvents() {
		return events;
	}

	public void setEvents(DummyOption events) {
		this.events = events;
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public DataLabels getDataLabels() {
		return dataLabels;
	}

	public void setDataLabels(DataLabels dataLabels) {
		this.dataLabels = dataLabels;
	}

	public Integer getLegendIndex() {
		return legendIndex;
	}

	public void setLegendIndex(Integer legendIndex) {
		this.legendIndex = legendIndex;
	}

	public Marker getMarker() {
		return marker;
	}

	public void setMarker(Marker marker) {
		this.marker = marker;
	}

	public Boolean getSliced() {
		return sliced;
	}

	public void setSliced(Boolean sliced) {
		this.sliced = sliced;
	}

	public Number getX() {
		return x;
	}

	public void setX(Number x) {
		this.x = x;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public Number getY() {
		return y;
	}

	public void setY(Number y) {
		this.y = y;
	}

	public void setColor(Color color) {
		this.color = color;
	}

	public Color getColor() {
		return color;
	}

}
